Computational Fluid Dynamics Using Graphics Processing Units: Challenges and Opportunities
نویسندگان
چکیده
A new paradigm for computing fluid flows is the use of Graphics Processing Units (GPU), which have recently become very powerful and convenient to use. In the past three years, we have implemented five different fluid flow algorithms on GPUs and have obtained significant speed-ups over a single CPU. Typically, it is possible to achieve a factor of 50-100 over a single CPU. In this review paper, we describe our experiences on the various algorithms developed and the speeds achieved. INTRODUCTION This paper describes some of our recent experiences of using Graphics Processing Units as a paradigm for performing large-scale scientific computations. In particular we are interested in computational fluid dynamics (CFD), which is important to a large number of mechanical, aerospace, chemical and biomedical industries. Beginning with essentially no background in using GPUs for CFD, we have, over the years, implemented several methodologies of CFD on a GPU, and studied a number of flow problems. The objective of this paper is to provide our assessment of learning, implementing, and applying the codes to problems of our interest. The currently observed performances are sufficiently impressive and attractive to pursue this new paradigm as a tool for CFD. Further code optimizations and tuning of the data structures may permit further speed-ups. It is also necessary to mention here that the technology is continually improving, and new hardware platforms as well as software are being developed. Hence many of the experiences reported here are being quickly superseded with new products and compilers being released by GPU vendors such as NVIDIA. Our current experiences relate to NVIDIA GPUs (specifically the Tesla C1060 and C2070) and programming them using CUDA (Compute Unified Device Architecture). DESCRIPTION OF GPU ARCHITECTURE The GPU can be thought essentially as a massively parallel computer, capable of simultaneously executing instructions on a large number of arithmetic units. However, because of the special architecture of the GPU, it is necessary to devise the numerical algorithm as well as the program structure such that the communication and computation as well as data access are executed optimally. The architecture of a GPU is quite different than that of a CPU. A GPU is designed with more transistors dedicated to computation and less resource dedicated to data caching and flow control compared with a CPU, resulting in significant computational speed-up [1]. The GPU is designed to be a parallel processor by using massive multithreading, where a single thread can be thought of as the smallest unit of execution that executes instructions in a program. Instructions for the GPU are written in a “kernel" which is similar to a function in the C programming language. Proceedings of the ASME 2011 International Mechanical Engineering Congress & Exposition IMECE2011 November 11-17, 2011, Denver, Colorado, USA
منابع مشابه
Performance Evaluation of Numeric Compute Kernels on nVIDIA GPUs
Graphics processing units provide an astonishing number of floating point operations per second and deliver memory bandwidths of one magnitude greater than common general purpose central processing units. With the introduction of the Compute Unified Device Architecture, a first step was taken by nVIDIA to ease access to the vast computational resources of graphics processing units. The aim of t...
متن کاملCombined application of computational fluid dynamics (CFD) and design of experiments (DOE) to hydrodynamic simulation of a coal classifier
Combining the computational fluid dynamics (CFD) and the design of experiments (DOE) methods, as a mixed approach in modeling was proposed so that to simultaneously benefit from the advantages of both modeling methods. The presented method was validated using a coal hydraulic classifier in an industrial scale. Effects of operating parameters including feed flow rate, solid content and baffle le...
متن کاملGpu Computing for Meshfree Particle Method
Graphics Processing Units (GPUs), originally developed for computer games, now provide computational power for scientific applications. A study on the comparison of computational speed-up and efficiency of a GPU with a CPU for the Finite Pointset Method (FPM), which is a numerical tool in Computational Fluid Dynamics (CFD) is presented. As FPM is based on the point cloud, it is so expensive whe...
متن کاملAccelerating Euler Equations Numerical Solver on Graphics Processing Units
Finite volume numerical methods have been widely studied, implemented and parallelized on multiprocessor systems or on clusters. Modern graphics processing units (GPU) provide architectures and new programing models that enable to harness their large processing power and to design computational fluid dynamics simulations at both high performance and low cost. We report on solving the 2D compres...
متن کاملComputational Fluid Dynamics and Gpus
Computational Fluid Dynamics (CFD) simulations are aimed to reconstruct the reality of fluid motion and behaviour as accurately as possible, to better understand the natural phenomena under specified conditions. Ideally, computational models would need to cover different scales and geometric configurations, and the classic CFD solvers most often require long computational times to satisfy the c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011